package cc.geguol.tcpserver.service;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;

import cc.geguol.tcpserver.dao.UserDao;
import cc.geguol.tcpserver.mapper.AccountDao;
import cc.geguol.tcpserver.pojo.Account;

/**
 * 作者  格锅
 * 时间  2017/8/18 16:06
 * 文件  sc_tcpserver
 * 描述  添加 事务管理
 */
@Service
public class UserService {
	@Resource
	private UserDao userDao;

	@Resource
	private AccountDao accountDao;

	/**
     * 事务控制
     */
	@Transactional(
			readOnly = false,  // 读写事务
			timeout = -1,       // 事务的超时时间不限制
			//noRollbackFor = ArithmeticException.class,  // 遇到数学异常不回滚
			isolation = Isolation.DEFAULT,              // 事务的隔离级别，数据库的默认
			propagation = Propagation.REQUIRED			// 事务的传播行为
	)
	public void save(){
		Account acc=new Account();
		acc.setAccPass("1111111");
		acc.setAccName("hahahha");
		userDao.save(acc);
		int i = 1/0;
	}

//	@Transactional(
//			readOnly = false,  // 读写事务
//			timeout = -1,       // 事务的超时时间不限制
//			//noRollbackFor = ArithmeticException.class,  // 遇到数学异常不回滚
//			isolation = Isolation.DEFAULT,              // 事务的隔离级别，数据库的默认
//			propagation = Propagation.REQUIRED			// 事务的传播行为
//	)
	public void insertTest(){
		Account acc=new Account();
		acc.setAccPass("1111111");
		acc.setAccName("hahahha");
		acc.setAccLogin("222222222");
		accountDao.insert(acc);
//		int i = 1/0; // 成功回滚
	}
}
